[INFO] fetching crate oracle 0.6.3...
[INFO] fixing oracle-0.6.3 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate oracle 0.6.3 into /workspace/builds/worker-4-tc2/source
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate oracle 0.6.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate oracle 0.6.3
[INFO] tweaked toml for crates.io crate oracle 0.6.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate oracle 0.6.3 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oracle 0.6.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440
[INFO] running `Command { std: "docker" "start" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling cc v1.0.100
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking uuid v0.8.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling odpic-sys v0.1.1
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling oracle_procmacro v0.1.2
[INFO] [stderr]     Checking oracle v0.6.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/oci_attr/data_type.rs (28 fixes)
[INFO] [stderr]        Fixed src/batch.rs (2 fixes)
[INFO] [stderr]        Fixed src/sql_type/mod.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/connection.rs:1763:33
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         Info::from_dpi(unsafe { &info.assume_init() })
[INFO] [stdout]      |         --------------          ^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |         |
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/sql_type/object.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sql_type/object.rs:454:23
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 write_literal(f, &self.get(idx), oratype)?;
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 454 |                 match self.next_index(idx) { Ok(index) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 460 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/sql_value.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sql_type/object.rs:474:23
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 write_literal(f, &self.get(idx), oratype)?;
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 474 |                 match self.next_index(idx) { Ok(index) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/error.rs (4 fixes)
[INFO] [stderr]        Fixed src/statement.rs (2 fixes)
[INFO] [stderr]    Migrating tests/connection.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/connection.rs:1763:33
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         Info::from_dpi(unsafe { &info.assume_init() })
[INFO] [stdout]      |         --------------          ^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |         |
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sql_type/object.rs:454:23
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 write_literal(f, &self.get(idx), oratype)?;
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 454 |                 match self.next_index(idx) { Ok(index) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 460 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/sql_type/object.rs:474:23
[INFO] [stdout]     |
[INFO] [stdout] 473 |                 write_literal(f, &self.get(idx), oratype)?;
[INFO] [stdout]     |                                   -------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 474 |                 match self.next_index(idx) { Ok(index) => {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/common/mod.rs (8 fixes)
[INFO] [stderr]    Migrating tests/object.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/statement.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/select.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/from_to_sql.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/from_to_sql.rs (5 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/scott-emp.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/shutdown-database.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/procmacro.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/bind.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed tests/bind.rs (17 fixes)
[INFO] [stderr]    Migrating examples/print-oracle-version.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/object_type.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/common/mod.rs:307:15
[INFO] [stdout]     |
[INFO] [stdout] 307 |         match conn.execute(&sql, &[]) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 308 |             Ok(_) => return Ok(()),
[INFO] [stdout] 309 |             Err(err) if retry_count < 3 && err.oci_code() == Some(54) => {
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 316 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 | define_dpi_data_with_refcount!(Object, nosync);
[INFO] [stdout]     | ---------------------------------------------- in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 | define_dpi_data_with_refcount!(ObjectAttr);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 | define_dpi_data_with_refcount!(ObjectType);
[INFO] [stdout]     | ------------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:193:1
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Drop for DpiVar {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/lib.rs:137:13
[INFO] [stdout]     |
[INFO] [stdout] 137 |             impl Drop for [<Dpi $name>] {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 | define_dpi_data_with_refcount!(Conn);
[INFO] [stdout]     | ------------------------------------ in this macro invocation
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/statement.rs:493:1
[INFO] [stdout]     |
[INFO] [stdout] 493 | impl Drop for Stmt {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `err` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `define_dpi_data_with_refcount` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/startup-database.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.86s
[INFO] [stderr] crater-edition-check: oracle v0.6.3 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking oracle v0.6.3 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/connection.rs:1763:34
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         Info::from_dpi(unsafe { &info.assume_init() })
[INFO] [stdout]      |         --------------           ^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |         |                        |                |
[INFO] [stdout]      |         |                        |                temporary value is freed at the end of this statement
[INFO] [stdout]      |         |                        creates a temporary value which is freed while still in use
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/connection.rs:1763:34
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         Info::from_dpi(unsafe { &info.assume_init() })
[INFO] [stdout]      |         --------------           ^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |         |                        |                |
[INFO] [stdout]      |         |                        |                temporary value is freed at the end of this statement
[INFO] [stdout]      |         |                        creates a temporary value which is freed while still in use
[INFO] [stdout]      |         borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oracle` (lib) due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `oracle` (lib test) due to 1 previous error
[INFO] running `Command { std: "docker" "inspect" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440", kill_on_drop: false }`
[INFO] [stdout] 941ab59cf2835d7d6cd235f6e2543ae8d484b230c111f01bfea37988b7223440
